package city.spring.modules.personnel.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体类：员工信息
 *
 * @author Panxm
 * @date 2020-04-09 11:39:24
 */
@Data
@TableName("employee")
public class EmployeeEntity implements Serializable {

    /**
     * 员工id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 关联的卡片信息id(一卡通)
     */
//    private String cardInfoId;


    /**
     * 员工姓名
     */
    private String name;

    /**
     * 身份证号
     */
    private String idCardNum;

    /**
     * 性别
     */
    private String sex;

    /**
     * 出生年月
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 民族
     */
    private String nation;

    /**
     * 婚姻状况
     */
    private String married;

    /**
     * 籍贯
     */
    private String nativePlace;

    /**
     * 员工属性
     */
    private String attributes;

    /**
     * 户籍地址
     */
    private String registerAddress;

    /**
     * 家庭地址
     */
    private String homeAddress;

    /**
     * 联系电话
     */
    private String telPhone;

    /**
     * 紧急联系人电话
     */
    private String emergencyPhone;

    /**
     * 文化程度
     */
    private String educationalLevel;

    /**
     * 政治面貌
     */
    private String political;

    /**
     * 职称
     */
    private String title;

    /**
     * 职称级别
     */
    private String titleLevel;

    /**
     * 职务
     */
    private String duties;

    /**
     * 专业类别
     */
    private String professionalCategories;

    /**
     * 薪金范围
     */
    private String salaryRange;

    /**
     * 其他待遇
     */
    private String otherBenefits;

    /**
     * 试用期
     */
    private String contractProbation;

    /**
     * 合同开始时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date contractStart;

    /**
     * 合同结束时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date contractEnd;

    /**
     * 入职时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date hiredate;

    /**
     * 人员类型
     */
    private String personnelType;

    /**
     * 工作岗位
     */
    private String job;

    /**
     * 合同附件
     */
    private String contractAttachment;

    /**
     * 证书id
     */
    private String certificateId;

    /**
     * 状态（1：在职 0 ：离职）
     */
    private Integer state;

    /**
     * 登陆权限
     */
    private String allowLogin;

    /**
     * 所属部门id
     */
    private String orgId;


    /**
     * 头像
     */
    private String avatarImg;

    /**
     * 合同编号
     */
    private String contractId;

    /**
     * 合同类型
     */
    private String contractType;

}
